package com.shure.surdes.modules.survey.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.shure.surdes.common.base.BaseEntity;
import lombok.Data;

import java.util.List;

/**
 * 问卷题目对象 tb_question
 *
 * @author Shure
 * @date 2021-10-18
 */
@Data
@TableName("tb_question")
public class Question extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 题目主键
     */
    @TableId(type = IdType.AUTO)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long questionId;

    /**
     * 问卷主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long surveyId;

    /**
     * 题目编号
     */
    private String questionNo;

    /**
     * 排序字段
     */
    private Integer questionSort;

    /**
     * 题目名称
     */
    private String questionName;

    /**
     * 题目类型（01：填空题，02：单选题，03：多选题，04：多行文本题）
     */
    private String questionType;

    /**
     * 校验规则
     */
    private String validateRule;

    /**
     * 初始是否隐藏（1：是，0：否）
     */
    private String showOrHide;

    /**
     * 题目属性
     */
    private String questionAttr;


    /**
     * 只读标识 1 为不能编辑
     */
    private String notEdit;

    /**
     * 默认值
     */
    private String defaultValue;

    /**
     * 结果计算公式
     */
    private String formula;

    /**
     * 选项显示方向
     */
    private String optionDisplay;


    /**
     * 题目选项列表
     */
    @TableField(exist = false)
    private List<Options> options;

    /**
     * 题目结果
     */
    @TableField(exist = false)
    private Answer answer;

}
